#ifndef __DOUBLE_LINK_LIST_QUEUE_H_
#define __DOUBLE_LINK_LIST_QUEUE_H_

#include "doubleLinkList.h"

typedef DoubleLinkList DoubleLinkListQueue;

/*队列初始化*/
int doublelinklistQueueInit(DoubleLinkListQueue **pQueue);

/*入队*/
int doubleLinkListQueuePush(DoubleLinkListQueue *pQueue, ELEMENTTYPE val);

/*查看队头元素*/
int doubleLinkListQueueTop(DoubleLinkListQueue *pQueue, ELEMENTTYPE *pVal);

/*队尾元素*/
int doubleLinkListTail(DoubleLinkListQueue *pQueue, ELEMENTTYPE *pVal);

/*出队*/
int doublelinklistQueuePop(DoubleLinkListQueue *pQueue);

/*队列大小*/
int doubleLinkListQueueSize(DoubleLinkListQueue *pQueue, int *pSize);

/*队列是否为空*/
int whetherDoubleLinkListIsEmpty(DoubleLinkListQueue *pQueue);

/*队列销毁*/
int doubleLinkListQueueDestroy(DoubleLinkListQueue *pQueue);

#endif